/*
1. 注册界面，账号密码非空验证， 要求失去焦点时验证。
2. 注册密码格式验证，验证规则 ： 密码必须是大写字母开头，英文字母数字和组合，至少6位。
3. 注册成功将账号和密码保存到本地存储localStorage中，在登录页面调用。
*/
const formEle = document.querySelector('form') //表单
const iptNameEle = document.querySelector('input[name="username"]')//用户名
const iptPasswordEle = document.querySelector('input[name="password"]')//用户密码
const userEle = document.querySelector('.user')  //值为空时弹出内容
const passEle = document.querySelector('.pass')  //值为空时弹出内容
const iptRegistEle = document.querySelector('input[name="regist"]')// 注册

let personArrayStr = localStorage.getItem('DATA')  //从locaStorage获取数据
let namePassWord = JSON.parse(personArrayStr) || []

/* ---------------------------------非空验证------------------------------------*/
// 用户名非空验证
function userNameNull() {
    // 获取input里面的值---判断是否为空
    iptName = iptNameEle.value
    if (iptName == '') {
        userEle.innerHTML = '用户名不能为空'
        return false
    } else {
        userEle.innerHTML = ''
        return true
    }
}

// 密码非空验证
function passWordNull() {
    // 获取input里面的值---判断是否为空
    iptPass = iptPasswordEle.value
    if (iptPass == '') {
        passEle.innerHTML = '密码不能为空'
        return false
    } else if (checkPassword()) {
        passEle.innerHTML = ''
        return true
    }
}

/*/ ----------------------------------验证密码格式----------------------------*/
function checkPassword() {
    let password = iptPasswordEle.value
    let reg = /^[A-Z]{1}\d[0-9a-zA-z]{5,12}/
    if (reg.test(password)) {
        passEle.innerHTML = ''
        return true
    } else {
        passEle.innerHTML = '密码必须是数字字母组合，至少6位,大写开头'
        return false
    }
}

/*---------------------------验证密码长度 -->根据value的值来判断--------------*/
function valued() {
    if (iptPasswordEle.value.length > 16 && passWordNull()) {
        alert('密码长度不能大于16位')
        return false
    } else {
        //验证账号密码
        checkPassword()
        return true
    }
}

/* -----------------------------------失去焦点-------------------------------*/
//失去焦点
iptNameEle.onblur = function () {
    userNameNull()
}

iptPasswordEle.onblur = function () {
    passWordNull()
}


/*--------------------绑定注册事件 保存用户名和密码 跳转到登录页--------------------*/
iptRegistEle.addEventListener('click', e => {
    e = e || window.event
    e.preventDefault() //阻止默认事件

    if (userNameNull() && passWordNull() && valued()) {
        let name = iptNameEle.value
        let pass = iptPasswordEle.value
        let nampass = {
            name,
            pass
        }
        namePassWord.push(nampass)
        localStorage.setItem('DATA', JSON.stringify(namePassWord))
        alert('恭喜您，注册成功')
        location.href = 'login.html'
    }
})



